CUDA implementation of Wagener's 2D convex hull PRAM algorithm
نویسنده
چکیده
This paper describes a CUDA implementation of Wagener’s PRAM convex hull algorithm in R 2 [3,2]. It is presented in Knuth’s literate programming style. 1 Using this file The source of this document is a .nw file (for ‘noweb,’ an implementation of Knuth’s literate programming technique: see ‘Literate programming with noweb,’ by Andrew L. Johnson and Brad C. Johnson, Linux Journal, October 1st 1997). Noweb allows one to mix LaTeX with C (or pretty well any programming language), allowing a well-annotated program. One can extract ‘chunks’ from it. You need the noweb system, of course (that is, notangle to extract the C part and noweave to typeset the full document). This document includes a Makefile. To start the ball rolling, you can extract it as follows: notangle -t8 -Rwagener.Makefile wagener.nw > wagener.Makefile With it, you can make a CUDA source file (wagener.cu) or a DVI copy of this document (make dvi produces wagener.dvi) There is one problem with wagener.cu. The construct <<<. . .>>> is a necessary part of the cuda source code, and it conflicts with noweb’s construct <<. . .>>. Therefore wagener.cu contains match and merge LLL range, block RRR ( hood, newhood, scratch ); e-mail: [email protected]. Mathematics department website: http://www.maths.tcd.ie.
منابع مشابه
Efficient Quicksort and 2D Convex Hull for CUDA, and MSIMD as a Realistic Model of Massively Parallel Computations
In recent years CUDA has become a major architecture for multithreaded computations. Unfortunately, its potential is not yet being commonly utilized because many fundamental problems have no practical solutions for such machines. Our goal is to establish a hybrid multicore/parallel theoretical model that represents well architectures like NVIDIA CUDA, Intel Larabee, and OpenCL as well as admits...
متن کاملA 3D Convex Hull Algorithm for Graphics Hardware
This report presents a novel approach, termed gHull, to compute the convex hull for a given point set inR using the graphics processing units (GPUs). While the 2D problem can easily and efficiently be solved in the GPU, there is no known obvious, classical parallel solution that works well in the GPU for the 3D problem. Our novel parallel approach exploits the relationship between the 3D Vorono...
متن کاملCudaHull: Fast parallel 3D convex hull on the GPU
In this paper, we present a novel parallel algorithm for computing the convex hull of a set of points in 3D using the CUDA programming model. It is based on the QuickHull approach and starts by constructing an initial tetrahedron using four extreme points, discards the internal points, and distributes the external points to the four faces. It then proceeds iteratively. In each iteration, it ref...
متن کاملSweep Line Algorithm for Convex Hull Revisited
Convex hull of some given points is the intersection of all convex sets containing them. It is used as primary structure in many other problems in computational geometry and other areas like image processing, model identification, geographical data systems, and triangular computation of a set of points and so on. Computing the convex hull of a set of point is one of the most fundamental and imp...
متن کاملEfficient Geometric Algorithms on the EREW PRAM
We present a technique that can be used to obtain efficient parallel algorithms in the EREW-PRAM computational model. This technique enables us to optimally solve a number of geometric problems in O(logn) time using O(n/logn) EREW-PRAM processors, where n is the input size. These problerns include: computing the convex hull oCa sorted point set in the plane, computing the convex hull oCa simple...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- CoRR
دوره abs/1203.5004 شماره
صفحات -
تاریخ انتشار 2012